Many computer expert systems exist for analyzing and processing information to yield a result. Expert systems are typically created and designed to incorporate the methodology and/or analytical skills of an expert or specialist in a particular field. The fields can be far ranging, and include, for example, the professions, engineering, sciences and even the armed forces. A computer program designed as an expert system is therefore created for the purpose of applying the particular expert's knowledge or skill to a given problem faced by a lay observer or user. In this manner, the expert's knowledge or skill can be applied to the problem at hand without the need for the presence of the particular expert. The expert is thus free to develop further expertise while prior knowledge and skill are applied to a lay environment.
In the development of a computer expert system, in addition to the analytical aspect of the program, a database of information accessed by the expert system is also needed. Typically, the database must be created from scratch for each expert system in order to match and respond to the particular requirements of that system. The development of an expert system therefore requires a significant amount of effort in order to develop both the expert system and the associated databases required by the expert system. In other words, each database or databases prepared for an expert system is thus dependent upon the particular expert system being developed. This, of course, presents increased costs and effort associated with the development and use of each computer expert system.
Many databases and computer models currently exist that contain large amounts of collected data with respect to a particular environment or behavior. These databases are typically created independently, and are based on a collection of data or facts compiled by independent or non-affiliated entities. Vast amounts of data have been collected and stored in databases for access by independent computer systems. Due to the particular requirements, such as inputs, outputs and other specifications, of each computer system for which these databases have been created, each database is customized for its particular application. Although useful for its particular targeted system, each database is typically not accessible in general by other computer programs. As a result, many independent databases exist that can not currently be incorporated or integrated easily within different computer systems.
The prior art lacks the advantage of a system and method for coupling one or more independently created computer models for use with a particular computer expert system. A common interface for linking one or more existing computer models to solve or respond to a user's problem would be advantageous. Such a system and method would specify a common set of inputs, outputs and other constraints for dynamically linking independently created computer models. The linking would be achieved at run-time in response to a user's input of goals and/or constraints to the computer expert system. Such a system or method would include a predefined structure of objects to establish the interface that allows for the integration of independent or preexisting computer models and the computer expert system.